package com.devilvan.betrice.aiqicha.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.devilvan.betrice.aiqicha.deserialize.ParseHyphenDeserializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
* @author Evad.Wu
* @Description 爱企查-基本信息 值对象
* @date 2022-09-23
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "爱企查-基本信息 值对象")
public class AiqichaHeaderVo {
    @Schema(description = "企业系统ID")
    @JSONField(deserialize = false)
    private Long pid;
    @Schema(description = "企业名称")
    @JSONField(alternateNames = {"entName"})
    private String entName;
    @Schema(description = "企业LOGO")
    @JSONField(alternateNames = {"entLogo"})
    private String entLogo;
    @Schema(description = "法定代表人ID")
    @JSONField(alternateNames = {"personId"})
    private String personId;
    @Schema(description = "法定代表人")
    @JSONField(alternateNames = {"legalPerson"})
    private String legalPerson;
    @Schema(description = "手机号")
    @JSONField(alternateNames = {"telephone"})
    private String telephone;
    @Schema(description = "邮箱号")
    @JSONField(alternateNames = {"email"})
    private String email;
    @Schema(description = "法定代表人类型")
    @JSONField(alternateNames = {"personTitle"})
    private String personTitle;
    @Schema(description = "经营状态")
    @JSONField(alternateNames = {"openStatus"})
    private String openStatus;
    @Schema(description = "成立日期")
    @JSONField(alternateNames = {"startDate"}, deserializeUsing = ParseHyphenDeserializer.class)
    private Date startDate;
    @Schema(description = "注册资本")
    @JSONField(alternateNames = {"regCapital"})
    private String regCapital;
    @Schema(description = "实缴资本")
    @JSONField(alternateNames = {"paidinCapital"})
    private String paidinCapital;
    @Schema(description = "企业LOGO")
    @JSONField(alternateNames = {"annualDate"}, deserializeUsing = ParseHyphenDeserializer.class)
    private Date annualDate;
    @Schema(description = "统一社会信用代码")
    @JSONField(alternateNames = {"unifiedCode"})
    private String unifiedCode;
    @Schema(description = "组织机构代码")
    @JSONField(alternateNames = {"orgNo"})
    private String orgNo;
    @Schema(description = "纳税人识别号")
    @JSONField(alternateNames = {"taxNo"})
    private String taxNo;
    @Schema(description = "企业类型")
    @JSONField(alternateNames = {"entType"})
    private String entType;
    @Schema(description = "营业期限")
    @JSONField(alternateNames = {"openTime"})
    private String openTime;
    @Schema(description = "工商注册号")
    @JSONField(alternateNames = {"regCode"})
    private String regCode;
    @Schema(description = "所属行业")
    @JSONField(alternateNames = {"industry"})
    private String industry;
    @Schema(description = "登记机关")
    @JSONField(alternateNames = {"authority"})
    private String authority;
    @Schema(description = "行政区划")
    @JSONField(alternateNames = {"district"})
    private String district;
    @Schema(description = "行政区划编码")
    @JSONField(alternateNames = {"districtCode"})
    private String districtCode;
    @Schema(description = "参保信息")
    @JSONField(alternateNames = {"insuranceInfo"})
    private InsuranceInfoVo insuranceInfoVo;
    @Schema(description = "注册地址")
    @JSONField(alternateNames = {"regAddr"})
    private String regAddr;
    @Schema(description = "经营范围")
    @JSONField(alternateNames = {"scope"})
    private String scope;
}
